# Makefile for Cygwin utilities

# This file is part of Cygwin.

# This software is a copyrighted work licensed under the terms of the
# Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
# details.

include $(top_srcdir)/Makefile.am.common

CFLAGS_COMMON=-Wimplicit-fallthrough=4 -Werror -D_WIN32_WINNT=0x0a00 -DNTDDI_VERSION=WDK_NTDDI_VERSION
AM_CFLAGS=$(cflags_common) $(CFLAGS_COMMON)
AM_CXXFLAGS=$(cxxflags_common) $(CFLAGS_COMMON)
AM_CXXFLAGS += $(CFLAGS)

# Note that we call ps cygps here, so as not to collide with the
# autogenerated texinfo rule with the name 'ps'...
bin_PROGRAMS = \
	chattr \
	cygpath \
	cygps \
	gencat \
	getconf \
	getfacl \
	gmondump \
	kill \
	ldd \
	locale \
	lsattr \
	minidumper \
	mkgroup \
	mkpasswd \
	mount \
	newgrp \
	passwd \
	pldd \
	profiler \
	regtool \
	setfacl \
	setmetamode \
	ssp \
	tzset \
	umount

# Rename cygps to ps at install time
transform = s/cygps/ps/; $(program_transform_name)

# dumper is only built if libbfd.a available
if BUILD_DUMPER
bin_PROGRAMS += dumper
endif

# If prog_SOURCES is not specified, automake defaults to the single file prog.c
cygpath_SOURCES = cygpath.cc
dumper_SOURCES = dumper.cc module_info.cc
kill_SOURCES = kill.cc
ldd_SOURCES = ldd.cc
locale_SOURCES = locale.cc
minidumper_SOURCES = minidumper.cc
mount_SOURCES = mount.cc path.cc
profiler_SOURCES = profiler.cc path.cc
cygps_SOURCES = ps.cc
regtool_SOURCES = regtool.cc
umount_SOURCES = umount.cc

# rules to create/update tzmap.h from an online resource
.PHONY: tzmap
tzmap:
	$(srcdir)/tzmap-from-unicode.org > $(srcdir)/$@.h

tzmap.h:
	$(srcdir)/tzmap-from-unicode.org > $(srcdir)/$@

BUILT_SOURCES = tzmap.h

AM_LDFLAGS = -static -Wl,--enable-auto-import
LDADD = -lnetapi32

cygpath_CXXFLAGS = -fno-threadsafe-statics $(AM_CXXFLAGS)
cygpath_LDADD = $(LDADD) -luserenv -lntdll
dumper_CXXFLAGS = -I$(top_srcdir)/../include $(AM_CXXFLAGS)
dumper_LDADD = $(LDADD) -lpsapi -lntdll -lbfd @BFD_LIBS@
dumper_LDFLAGS =
ldd_LDADD = $(LDADD) -lpsapi -lntdll
mount_CXXFLAGS = -DFSTAB_ONLY $(AM_CXXFLAGS)
minidumper_LDADD = $(LDADD) -ldbghelp
pldd_LDADD = $(LDADD) -lpsapi
profiler_CXXFLAGS = -I$(srcdir) -idirafter ${top_srcdir}/cygwin/local_includes -idirafter ${top_srcdir}/cygwin/include $(AM_CXXFLAGS)
profiler_LDADD = $(LDADD) -lntdll
cygps_LDADD = $(LDADD) -lpsapi -lntdll
newgrp_LDADD = $(LDADD) -luserenv

if CROSS_BOOTSTRAP
SUBDIRS = mingw
endif
